開始學 Docker 前,需要先把環境建好。以下提供多種安裝方法,讀者可以依自己喜好自由選擇。
若沒有特殊需求或限制,會建議使用這個方法。以下針對三個主流作業系統做簡單的說明:
注意:必須要是 64-bit 版本才能運行 Docker。
參考官方文件,或使用懶人包安裝:
sudo curl -fsSL https://get.docker.com/ | sh
sudo usermod -aG docker your-user
筆者已使用 Vagrant 測試過 ubuntu/xenial64
與 debian/jessie64
兩個作業系統可行;centos/7
需手動啟動 docker daemon sudo systemctl start docker
。
參考官方文件,下載並安裝 Docker Desktop for Mac(需要權限)。
或是使用 Homebrew 的 Cask 安裝(需要權限):
brew cask install docker
注意:需啟用 Hyper-V。
參考官方文件,下載並安裝 Docker Desktop for Windows。
有時候因為某些理由,可能會不想或無法(如 Windows 7)在原生系統上安裝 Docker,這時可以考慮使用虛擬機安裝。
Docker Machine 是官方提供 Docker 機器的建置工具。如果打算建置虛擬機的話,這應該是最適當的方案。
預設的 provider 包括以下選擇:
使用雲端服務請注意防火牆要開通 local 機器的連線,Docker 使用 tcp 2376 port 連線,同時不要讓其他人能連到這個 port。
以 VirtualBox 為例,執行以下指令即可建立一個 Docker 虛擬機器:
# 建立 Docker 虛擬機
docker-machine create -d virtualbox my-docker
# 查看機器對應的環境參數
docker-machine env my-docker
# export 環境參數,執行 docker 指令將會連線到此虛擬機上
eval $(docker-machine env my-docker)
Vagrant 使用指令管理虛擬機,並使用程式碼來表達環境(Infrastructure-as-code,IaC)。
實際的做法,建立 Vagrantfile
檔案,並將下面的程式放入檔案裡:
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
# config.vm.network "forwarded_port", guest: 80, host: 8080
# config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
end
config.vm.provision "shell", inline: <<-SHELL
curl -fsSL https://get.docker.com/ | sh
usermod -aG docker vagrant
SHELL
end
再來使用 vagrant up
指令即可得到 Ubuntu trusty 64-bit + Docker CE 的乾淨環境:
vagrant up
vagrant ssh
使用 AWS Cloud9 服務:
curl ifconfig.co
指令取得公開 IP上述方法全部都不行的話,這就是最後一招了:申請好 DockerHub 的帳號後,即可使用 Play with Docker 服務。
它是使用 DinD 做成的線上服務,所以會有兩個很明顯的問題:
curl
或其他跟連線有關的指令測試安裝完成後,打開終端機輸入下面指令,即可驗證是否安裝成功:
docker run hello-world
若沒出現錯誤訊息,且有出現 Hello from Docker!
文字的話,代表 Docker 有正常啟動,可以開始使用 Docker 了!
docker run hello-world
。請問一下Docker desktop是不是對於電腦規格要求比較高
我用2014年的mac mini 4GB不能啟動(安裝Mojave)
我現時在我的windows 電腦裏安裝了virtualbox,然後在virtualbox 裏安裝Ubuntu linux,重新去看你文章去學docker。請問Vagrant部份是怎樣做的? 我建立 Vagrantfile 檔案,要將檔案放在那裏? (可不可以詳細說明, 我對linux 是零概念)
我現時是能夠運行docker.
執行了"docker run hello-world"
顯示
"Hello from Docker!
This message show that your installation appears to be working correctly."
Thank you very much.
Vagrant 要參考他們官方網站,但因為我不是用 Windows,所以可能沒辦法幫上忙
在Ubuntu怎樣安裝? thank you
如果你已經有 Ubuntu 環境的話,應該就不需要 Vagrant 了XD
可以直接參考 Linux 的懶人包安裝方法,但現在不確定還能不能用…
請問如果買"30天與Docker做好朋友:跟鯨魚先生一同探索開發者的大平台"書來看,會不會詳細有教怎樣做"以 Laravel 為例,來 build image 吧!"? Thank you.
Build Laravel image 的部分完整度差異不大,在書裡是鐵人賽重新排版過,順序會比較理想一點。
不過書裡有建置過程的 GIF 檔可以參考執行的過程,但因為環境還是以 Mac 為主,這點對 Windows 使用者可能會比較吃力。
我是用ubuntu系統來學docker. 因為我"以 Laravel 為例,來 build image 吧!"在網頁上不夠詳細,很難去明白,而且沒有圖去說明,這樣就想買書來看去學習。
書上也是沒有圖的,只是有每次指令建置過程的 GIF 可以參考,我個人是覺得幫助應該有限,你可以再想想,或是去天瓏書局先看看。